package  example.ogmoProjects
{
	import example.globals.Assets;
	import maskedpixel.ogmo.*;
	import maskedpixel.ogmo.utils.*;
	import example.entities.player.Ogmo;
	import example.entities.stationary.*;
	import example.entities.level.tiles.*;
	import example.entities.level.*;
	import example.entities.mobile.MovingPlatform;
	
	/**
	 * ...
	 * @author MaskedPixel
	 */
	public class ExampleProject extends OgmoProject
	{
		/**
		 * Overriden to register everything with the project.
		 */
		override public function registration():void 
		{
			// Generate the example Project imcluded with ogmo for testing purposes.
			
			// -- create the Project Settings.  These are values that set up ogmo.
			OgmoProject.registerSetting("defaultWidth", "320");
			OgmoProject.registerSetting("defaultHeight", "240");
			OgmoProject.registerSetting("minWidth", "320");
			OgmoProject.registerSetting("minHeight", "240");
			OgmoProject.registerSetting("maxWidth", "960");
			OgmoProject.registerSetting("maxHeight", "720");
			OgmoProject.registerSetting("workingDirectory", "gfx");
			
			// -- create the project values.  These values are specific an individual ogmoProject.
			OgmoProject.registerValue(new OgmoValue(OgmoValue.STRING, "title", "new level", 12));
			
			// -- Register the assets.  This is currently only the TileSets but future version may handle others.
			Assets.register();
			
			// -- create the objects.
			Ogmo.register();
			Chest.register();
			MovingPlatform.register();
			Spikes.register();
			
			// -- create the layers.
			TilesBG.register();
			Floor.register();
			
			// -- create the object layers.
			// Object layers are special in that they do not have a class name specified for them
			// so they do not have an associated class.
			OgmoProject.registerLayer(new OgmoLayer(OgmoLayer.OBJECTS, null, "objects", 16,
													new OgmoAttribute("drawGridSize", "32")));
		}
		
	}

}